Programming Environments for Novices

نویسنده

  • Mark Guzdial
چکیده

The task of specializing programming environments for novices begins with the recognition that programming is a hard skill to learn. The lack of student programming skill even after a year of undergraduate studies in computer science was noted and measured in the early 80’s [32] and again in this decade [20]. We know that students have problems with looping constructs [31], conditionals [8], and assembling programs out of base components [33]—and there are probably other factors, and interactions between these factors, too. What are the critical pieces? What pieces, if we “fixed” them (made them better for novice programmers), would make programming into a more manageable, learnable skill? If we developed a language that changed how conditionals work or loops, or make it easier to integrate components, would programming become easier? That’s the issue that developers of educational programming environments are asking. Each novice programming environment (or family of environments) is attempting to answer the question, “What makes programming hard?” Each answer to that question implies a family of environments that address the concern with a set of solutions. Each environment discussed in this chapter attempts to use several of these answers to make programming easier for novices. Obviously, there are a great many answers to the question “What makes programming hard?” For each answer, there are a great many potential environments that act upon that answer, and then there are a great many other potential environments that deal with multiple answers to that question. That’s not surprising, since it’s almost certainly true that there is no one correct answer to the question that applies to all people. Not all of these potential environments have been built and explored, however. The field of Computer Science Education Research is too new, and there are too few people doing work in this field. We are still in the stage of the field of identifying

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

How Block-based Languages Support Novices A Framework for Categorizing Block-based Affordances

The ability to express ideas in a computationally meaningful way is becoming increasingly important in our technological world. In response to the growing importance of computational literacy skills, new intuitive and accessible programming environments are being designed. This paper presents a framework for classifying the ways that block-based introductory programming environments support nov...

متن کامل

Situating Programming Abstractions in a Constructionist Video Game

Research on the effectiveness of introductory programming environments often relies on post-test measures and attitudinal surveys to support its claims; but such instruments lack the ability to identify any explanatory mechanisms that can account for the results. This paper reports on a study designed to address this issue. Using Noss and Hoyles’ constructs of webbing and situated abstractions,...

متن کامل

Generative art for all

Background: Generative art is created by a system that operates autonomously, or semi-autonomously, rather than directly by the artist. The artist creates the system and establishes parameters that affect the outcome, but the outcome itself emerges from the system rather than from the artist. Generative art systems are frequently computer programs, although biological, social, or other systems ...

متن کامل

How People Naturally Describe Robot Behaviour

Existing novice robot programming systems are complex, which ironically makes them unsuitable for novices. We have analysed 19 reports of robot projects to inform development of an ontology of critical concepts that end user robot programming environments must include. This is a first step to simpler end user robot programming systems.

متن کامل

Online Pair-Programming for Learning Programming of Novices

The purpose of this study is to determine the effects of online pair programming for novices. This paper describes two system designs for online pair programming: real-time synchronous pair programming and non-real-time asynchronous pair programming. An experiment was conducted to test the feasibility of online pair programming, using Squeak eToys as an educational programming language. Nebrask...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997